The present invention relates generally to the display of graphics data, and more specifically to the display of graphics data in portrait and landscape mode.
Computer systems and their associated peripherals are well known. For example, modern day computer systems are known to include a central processing units (CPUs), memories, system busses, video graphics adapters, and display devices. Examples of display devices include cathode ray tube (CRT) monitors, and digital flat panel (DFP) monitors. DFP monitors include liquid crystal displays and active matrix display monitors commonly associated with laptop computers.
Traditionally, monitors are oriented such that images are viewed in a landscape mode. In landscape mode, images have a greater horizontal viewing dimension than vertical viewing dimension. For example, the horizontal viewing dimension of a traditionally oriented monitor is 640 pixels wide while the vertical viewing dimension is 480 pixels high. While landscape monitors are commonly associated with computer systems, some computer applications are best viewed in a portrait mode. In portrait mode, the number of vertical pixels associated with a viewed image is greater than the number of horizontal pixels.
An example of an application that is better supported in portrait mode is a word processing application, where it would be desirable to display a full size representation of an 8xc2xd by 11 sheet of paper on the monitor. A horizontally oriented landscape display is typically not capable of displaying a full size representation of an 8xc2xd by 11 sheet of paper.
In order to support landscape mode dimensions, dedicated landscape monitors have been developed. Landscape monitors are oriented such that the horizontal scan pixel width is greater than the vertical pixel height. By using a landscape monitor, applications that benefit by their use can be supported. In addition, large landscape monitors have been developed such that the vertical height of the landscape monitor is large enough to support the desired applications.
A disadvantage associated with portrait monitors and large monitors, is their high cost and low convenience. Specifically, where large horizontal monitors are used in order to support the desired vertical height, the cost of such monitors can become prohibitive from many consumers. Likewise, the acquisition of a dedicated portrait monitor limits a systems use to applications specifically designed for landscape monitors.
In order to overcome the cost and convenience issues associated with dedicated portrait and large landscape monitors, rotatable monitors have been developed. By supporting a monitor capable of being rotated, or pivoted, it has been possible to support both landscape and portrait m odes of operation through the use of system software drivers. Even though the dual mode monitor is being used in multiple modes, it will have a single scan pattern. Generally, when in a landscape mode, the scan pattern is horizontal from left to right beginning at the top of the monitor, as referenced by the viewed image. Therefore, it is necessary to re-map data to be displayed in portrait mode to be supported by a horizontal mode monitor and display driver.
When a central processor unit provides display data in a traditional landscape mode, the data is received directly by a graphics adapter and subsequently displayed upon the display device in landscape mode. However, in the prior art, when the central processing unit, or other host, provides portrait images for display on a landscape monitor, the image is translated such that it is displayed appropriately. In the prior art, this has been accomplished by utilizing special software drivers on the CPU in order to re-map the image such that it would be stored appropriately at the video graphics adapter for display upon the display device.
One problem associated with software re-mapping of images, is the overhead required by the system processor in order to re-map each and every frame associated with the images being displayed.
Therefore, a method and apparatus which reduces the amount of system CPU overhead associated with translating images from a landscape mode to a portrait mode would be desirable.